<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>hello vue组件-全局组件</title>
    <link rel="stylesheet" type="text/css" href="./lib/bootstrap/css/bootstrap.css">
    <link rel="stylesheet" href="./css/vue2-animate.css" type="text/css">

    <script type="text/javascript" src="./lib/vue/vue.js"></script>
    <script type="text/javascript" src="./lib/jquery/jquery.min.js"></script>
    <script type="text/javascript" src="./lib/bootstrap/js/bootstrap.js"></script>
    <style>

    </style>

</head>

<body>

    <div id="box" class="container">
        <h1>默认情况下，子组件无法访问父组件数据</h1>
        <strong>props</strong>
        <!-- 引用自定义组件  -->
        <parent>
        </parent>
    </div>

    <!-- 定义组件  -->
    
    <template id="parent">
        <div>
            <h1>vue模板只能有一个根对象</h1><hr/>
            父组件数据：
            <span style="color:red;">{{pmessage}}</span>
            <h2>父组件：aaaaaa</h2>
            <!-- 绑定属性  -->
            <cmp :pdata="pmessage" :my-data="age"></cmp>

            <span style="color:red;"><strong>说明：</strong>自定义属性名称中带有“-”时，{{}}中需要驼峰命名读取</span>
        </div>
        
    </template>


</body>


<script>
    var v = new Vue({
        el: '#box',
        components: {
            // 父组件
            'parent': {
                template: '#parent', // 关联template标签中的ID属性
                data() {
                    return {
                        pmessage: '我是父组件数据',
                        age: 33
                    }
                },
                components: {
                    // 子组件
                    'cmp': {
                        data() {
                            return {
                                cmessage: '我是子组件数据'
                            }
                        },
                        // 属性命中带有“-”时，{{}}中需要驼峰命名
                        props: {
                            pdata: String,
                            myData: Number
                        },
                        // pdata 为cmp绑定的属性名  :pdata
                        template: '<h3>子组件：bbbbbbbb，读取父组件数据：<span style="color:red">{{pdata}} == {{myData}}</span></h3>'
                    }
                }
            }
        }

    });
</script>

</html>